Deprecate non-ClickHouse / non-Postgres destination connectors#4491
Conversation
🔄 Flaky Test DetectedAnalysis: The deterministic unit test TestRunPipeline_FilterStripsLines failed with "src failed: signal: killed" — its trivial ✅ Automatically retrying the workflow |
|
Tested the GitHub automation end-to-end on a fork (Actions enabled, branch as default, The Fix ( Verified on the fork after the fix:
The |
58a79ad to
8c02950
Compare
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
🔄 Flaky Test DetectedAnalysis: The lone failure, TestRunPipeline_FilterStripsLines, died with "src failed: signal: killed" (empty stderr) on a trivial in-memory ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: Test_MySQL_BinlogIncident failed on a transient MySQL handshake EOF ("connection was bad") from its ephemeral debug testcontainer — a network/connection flake unrelated to this destination-connector-deprecation PR. ✅ Automatically retrying the workflow |
8c02950 to
ec0bc91
Compare
✅ Current scope + validation (supersedes earlier notes)
Deprecated destination connectors (final scope)Snowflake, BigQuery, ElasticSearch, Kafka (incl. Confluent/Redpanda), Azure Event Hubs, Google Pub/Sub, and S3.
Validated end-to-end on a fork (Jeremyyang920/peerdb)Actions enabled, branch set as default, Path-based PR labeling (
Issue-form dropdown labeling
Manual labeling
Notice comments are de-duplicated (hidden marker) and nothing is ever auto-closed. (S3 follows the same destination-only mechanism already proven for Snowflake/ElasticSearch above.) One-time setup before this works upstreamCreate the
|
|
Thanks @ilidemi — addressed in b8fbdbe:
|
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. |
41f25b4 to
1287d2a
Compare
🔄 Flaky Test DetectedAnalysis: The lone failing test TestRunPipeline_FilterStripsLines died with "src failed: signal: killed" — its trivial printf subprocess was externally SIGKILLed (OOM/resource contention on the heavily-loaded -p 32 runner), which is an environmental flake rather than a logic bug. ✅ Automatically retrying the workflow |
🔄 Flaky Test DetectedAnalysis: The test reads qrep_partitions.rows_in_partition right after data lands in ClickHouse, but that column is populated by a pull goroutine that races the concurrent sync goroutine, so it can still be NULL — confirmed intermittent since the identical query passed in sibling tests and in the same test on other matrix jobs. ✅ Automatically retrying the workflow |
Signal deprecation of the Snowflake, BigQuery, ElasticSearch, Kafka
(incl. Confluent/Redpanda), Azure Event Hubs, Google Pub/Sub, and S3
*destination* connectors. No code is removed; they remain fully functional.
Actively-maintained paths: Postgres -> ClickHouse / ClickHouse Cloud /
Postgres.
- README: deprecation notice (above the fold) + connector status matrix;
BigQuery is listed as a maintained source and a deprecated destination.
- docs/deprecated-connectors.md: pin + fork migration guide.
- CONTRIBUTING.md: links to the migration guide.
- UI: "Deprecated" badge in the peer-creation grid. BigQuery is dual-role,
so it is marked destination-only ("Deprecated*" + footnote) since it is
still a valid source peer.
Refs #4465
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Issue chooser offers only the Bug report form, which includes a destination-connector dropdown and a deprecation notice. - labeler.yml: label PRs touching deprecated destination connectors. List BigQuery destination files explicitly so BigQuery *source* changes are never auto-labeled (a `!`-negation / all-globs-to-all-files block was found to silently disable the whole actions/labeler v5 config). - workflow: apply `deprecated` to bug reports that select a deprecated destination, label deprecated-connector PRs, and post a single de-duplicated notice. It never auto-closes. The `deprecated` label must be created once in repository settings. Refs #4465 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- labeler.yml: header comment lists S3 as deprecated and notes ClickHouse/Postgres as the excluded (maintained) destinations; add the BigQuery destination QRep file (qrep.go) to the tracked paths. - CONTRIBUTING.md: add S3 to the deprecated list; note BigQuery is deprecated only as a destination. - bug_report.yml: drop the duplicate migration-guide link. - feature_request.yml: new issue-form template so feature requests have a home while the chooser stays curated (blank issues remain disabled). - Issue forms: add an optional "Source connector" dropdown and make the destination dropdown optional, so source-side issues aren't forced to pick a destination (GitHub issue forms have no conditional fields). The destination dropdown keeps its exact label so the deprecation-triage workflow still parses it. Refs #4465 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mark the Query Replication (QRep) and XMin mirror types as deprecated; CDC is the recommended, actively-maintained mirror type. They remain fully functional and no code is currently being removed. - ui/app/api/mirror-types: flag QRep and XMin cards as deprecated. - ui/app/mirrors/create/mirrorcards: render a "Deprecated" badge on those cards in the create-mirror flow. - README: add a mirror-type deprecation notice; soften "no code is being removed" to "currently" across the connector/mirror notices. - CONTRIBUTING.md, docs/deprecated-connectors.md: same "currently" wording. Refs #4465 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Branch was behind main's prettier 3.8.3 / TypeScript 6.0.3 lockfile bump (#4536), causing a stale Prettier check failure. Rebasing picks up the updated formatting; this empty commit re-runs CI against the current tree. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
e9e1da9 to
c402b9c
Compare
…or types (#246) This documentation PR accompanies PeerDB-io/peerdb#4491. It adds concise deprecation callouts (no content removed or restructured) to mark the following as deprecated and no longer actively maintained. They remain fully functional and no code is currently being removed. ## Deprecated destination connectors - Snowflake - ElasticSearch - Kafka (including the Confluent and Redpanda variants) - Azure Event Hubs - Google Pub/Sub - S3 - GCS - BigQuery — deprecated **only as a destination**. BigQuery remains a **supported source**. Actively-maintained destinations: ClickHouse, ClickHouse Cloud, Postgres. ## Deprecated mirror types - Query Replication (QRep) - XMIN CDC (Change Data Capture) is the recommended, actively-maintained mirror type. ## Pages updated - Connector setup guides: `connect/snowflake`, `connect/bigquery`, `connect/s3`, `connect/gcs`, `connect/elasticsearch`, `connect/kafka`, `connect/confluent-cloud`, `connect/pubsub` - CDC mirror guides to deprecated destinations: `mirror/cdc-pg-sf`, `mirror/cdc-pg-bq`, `mirror/cdc-pg-kafka`, `mirror/cdc-pg-elasticsearch` - CDC use-case pages to deprecated destinations: `usecases/real-time-cdc/postgres-to-snowflake`, `postgres-to-bigquery`, `postgres-to-cloud` (S3/GCS), `postgres-to-azure-eventhubs` - Streaming Query Replication (QRep): `usecases/streaming-query-replication/overview` and all sub-pages, plus `tutorials/realtime-streaming-of-query-results` - SQL command reference: `sql/commands/create-mirror` (Streaming Query Results and XMIN sections) - Status/matrix pages: `features/supported-connectors`, `sql/commands/supported-connectors`, `features/feature-matrix` (rows marked _(deprecated)_ and a summary callout added) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Implements the code/config deliverables for #4465 — signaling the deprecation of the non-ClickHouse / non-Postgres destination connectors. No connector code is removed; deprecated connectors stay fully functional.
Deprecated destinations: Snowflake, BigQuery, ElasticSearch, Kafka (incl. Confluent + Redpanda), Azure Event Hubs, Google Pub/Sub, and S3. Actively-maintained paths: Postgres → ClickHouse / ClickHouse Cloud / Postgres.
Changes
peer-typesroute +SelectSource) — uniform "Deprecated" badge in the peer-creation grid. Since peers are direction-agnostic and BigQuery is a valid source, BigQuery is marked "Deprecated*" with a footnote: "Deprecated as a destination only.".github/labeler.yml+deprecated-connector.ymlworkflow that labels deprecated-connector PRs and posts a single de-duplicated notice (never auto-closes).Notes / follow-ups (not in this PR)
deprecatedlabel must be created once in repo Settings → Labels (labels aren't defined in-repo).deprecatedlabel + standard comment to existing open non-CH destination issues/PRs (do not auto-close).Verification
generate-protos.sh); verified/api/peer-typesreturns the correct per-connectordeprecated/deprecatedRoledata and/peers/createrenders the badges + footnote without errors.🤖 Generated with Claude Code